序列化(Serialization)是一個將對象轉換為二進制格式(流)的過程,這樣就可以將對象保存到文件、傳輸到網絡,或進行其他需要二進制數據表示的操作,而反序列化(Deserialization)則是將二進制格式還原為對象的過程。
需要實現序列化的類別:
要讓一個對象可序列化,該類必須實現java.io.Serializable介面。Serializable介面是標記接口,也就是沒有方法需要實現,只是要告知該類的對象可以被序列化。
序列化和反序列化的類別
ObjectOutputStream:負責將對象序列化並寫入輸出流。
ObjectInputStream:負責從輸入流中讀取並反序列化對象。
序列化的用途包含
保存對象狀態:可以將對象保存到文件或數據庫中,以便在將來恢復其狀態。
網絡傳輸:可以將對象序列化並通過網絡傳輸,這是許多分佈式系統的基礎。